#ifndef PACMAN_H
#define PACMAN_H


#include "Direccion.h"

#include "EstrategiaMovimiento.h"
#include "ObjetoVivo.h"
#include "JugadorModelo.h"

class Pacman : public ObjetoVivo {
    
private:
        EstrategiaMovimiento* estrategiaMovimiento;
		JugadorModelo* jugador;
        bool siendoCazados;

    public:

        Pacman(EstrategiaMovimiento* unaEstrategiaMovimiento, Punto* unPunto, unsigned int unRadio, bool vivo, JugadorModelo* unJugador);

        void vivir();
		EstrategiaMovimiento* getEstrategiaMovimiento();
        
		void cambiarDireccion(Direccion* unaDireccion);
		Direccion* getDireccion();

		void setEstrategiaMovimiento(EstrategiaMovimiento* unaEstrategiaMovimiento);
        void colisionarConPacman(ObjetoVivo* unObjetoVivo);
        void colisionarConFantasma(ObjetoVivo* unObjetoVivo);
        bool estaSiendoCazado();
        void setEstaSiendoCasado(bool estado);
        JugadorModelo* getJugador();
        void setJugador(JugadorModelo* unJugador);
		~Pacman(void);
    };

#endif